var grid = null;// 表格对象
var treeManger; // 树对象
var data;
var userManger;

var mallList = $("#mallList");

var $modal = $('#ajax-modal');
var $smallModal = $("#smallModal");
var btnAddNew = $("#btnAddNew");
var btnUpdate = $("#btnUpdate");
var btnStart = $("#btnStart");
var btnStop = $("#btnStop");
var btnRePwd = $("#btnRePwd");
var btnDel = $("#btnDel");

/*
 * 初始化加载
 */
$(function() {

	btnAddNew.click(function(e) {
		addNew();
	});
	btnUpdate.click(function(e) {
		updUserInit();
	});
	btnStart.click(function(e) {
		updUserStatus("01");
	});
	btnStop.click(function(e) {
		updUserStatus("02");
	});
	btnRePwd.click(function(e) {
		resetPassword();
	});
	btnDel.click(function(e) {
		delUser();
	});

	$modal.on('hidden.bs.modal', function(e) {
		removeDetail();
	})

	// 查询用户信息列表
	var url = _path + "/line/list";
	findUserInfoList(url);
	$("#Submitbutton").bind("click", function() {
		var name = $("#name").val();

		var url = "/line/list?name=" + name;
		findUserInfoList(url);
	});
});
// 查询
function getmallList() {

	var url = _path + "/line/list";
	findUserInfoList(url);
}

function getWhere(attrs) {
	if (!grid || !attrs) {
		return null;
	}
	var clause = function(rowdata, rowindex) {
		for (var i = 0, len = attrs.length; i < len; i++) {
			if ((rowdata[attrs[i]].toLowerCase().indexOf(
					$("#" + attrs[i]).val().toLowerCase()) == -1)) {
				return false;
			}
		}
		return true;
	};
	return clause;
}

/*
 * 查询用户信息列表数据
 */
function findUserInfoList(url) {
	var organid = $("#orid").val();
	var name = $("#name1").val();
	$.ajax({
		url : url,
		type : "POST",
		data : {
			name : "" + name + "",
			organid : organid
		},
		async : false,
		dataType : "json",
		success : function(result) {
			data = result;
			var pageSize = 20;
			grid = $("#maingrid").ligerGrid({
				width : '98%',
				height : '98%',
				headerRowHeight : 36,
				rowHeight : 36,
				checkbox : true,
				columns : [ {
					display : 'ID',
					name : 'id',
					width : '0%',
					align : 'left',
					hide : true
				}, {
					display : '线路ID',
					name : 'id',
					width : '25%'
				}, {
					display : '所属机构',
					name : 'organ.organame',
					width : '15%'
				}, {
					display : '线路名',
					name : 'name',
					width : '15%'
				}, {
					display : '最大在线人数',
					name : 'maxNumber',
					width : '10%'
				}, {
					display : '地址',
					name : 'url',
					width : '30%'
				} ],
				where : getWhere(),
				data : data,
				pageSize : 20,
				rownumbers : true,
				pageParmName : "curNo",
				pagesizeParmName : "curSize"
			});
			$("#pageloading").hide();
		}
	});

}

function save() {
	if (validation()) { // 校验提交
		App.ajax(_path + "/line/addline", $("#formDetail").serialize(),
				saveResult);
	}
}

/**
 * 校验input
 * 
 * @return
 */
function validation() {

	var organame = $("#formDetail #name").val();
	if (organame.replace(/(^\s*)|(\s*$)/, "").length == 0) {
		App.bubble(500, "线路名称不能为空！");
		return false;
	}
	var pid = $("#formDetail #url").val();
	if (pid.replace(/(^\s*)|(\s*$)/, "").length == 0) {
		App.bubble(500, "线路ULR不能为空！");
		return false;
	}

	var mx = $("#formDetail #maxNumber").val();
	if (mx.replace(/(^\s*)|(\s*$)/, "").length == 0) {
		App.bubble(500, "线路最大人数不能为空！");
		return false;
	}

	return true;
}

function saveResult(data) {

	var data = data.statusCode;
	if (data == '200') {
		App.bubble(200, "保存成功！");
		$modal.modal('hide');
		findUserInfoList(_path + "/user/list");
		window.location.reload();
	} else if (data == '500') {
		App.bubble(500, "保存失败！");
	} else if (data == '409') {
		App.bubble(500, "该用户已存在！");
	}
}

/*
 * 新增用户信息初始化
 */
function addNew() {
	initOgrTree();
	passRole();
	$modal.modal('show');
}

/*
 * 修改用户信息初始化
 */
function updUserInit() {
	// 获取选中记录行
	var rowid = grid.getSelecteds();
	var length = rowid.length;
	if (length == 0) {
		App.bubble(500, "请选择需要修改的！");
		return false;
	}
	if (length == 1) {
		App.ajax(_path + "/line/updLineInit", "id=" + rowid[0].id, function(
				data) {

			$("#organid").val(data.organid);
			$("#organname").val(data.organame);
			$("#id").val(data.id);
			$("#name").val(data.name);
			$("#maxNumber").val(data.maxNumber);
			$("#url").val(data.url);
			$("#appUrl").val(data.appUrl);
			initOgrTree();
			passRole();
		});
		$modal.modal('show');
	} else {
		App.bubble(500, "只能选择一个用户信息进行修改！");
	}
}

function passRole() {
	App.ajax(_path + "/role/initRole", "", function(data) {
		var array = data.roleList;
		var roleData = [];
		for (var k = 0; k < array.length; k++) {
			roleData.push({
				'id' : array[k].id,
				'text' : array[k].rolename
			});
		}
		App.ajax(_path + "/user/findUserRole", "userId=" + $("#id").val(),
				function(data) {
					var userRoledata = data.list;
					var roles = [];
					for (var i = 0; i < userRoledata.length; i++) {
						roles.push(userRoledata[i]);
					}
					$(".select2_sample3").select2({
						multiple : true,
						data : roleData
					});
					$(".select2_sample3").select2("val", roles);
				});
	});
}
function removeDetail(data) {
	$(':input', '#formDetail').not(':button, :submit, :reset').val('')
			.removeAttr('checked').removeAttr('selected');
	// $(".select2_sample3").select2("val", '');
}

/*
 * 删除选中的用户信息
 */
function delUser() {

	var userId = '';
	// 获取选中记录行
	var rowid = grid.getSelecteds();
	var length = rowid.length;
	if (length == 0) {
		App.bubble(500, "请选择要删除的记录！");
		return false;
	} else if (length > 0) {

		if (confirm('确实要删除选择的' + rowid.length + '条记录吗')) {
			for (var i = 0; i < length; i++) {// 获取删除的ID
				if (i < length - 1) {
					userId += rowid[i].id + ",";
				} else {
					userId += rowid[i].id;
				}
			}
			$.ajax({
				type : "post",
				url : _path + "/line/delline",
				data : {
					"userIds" : userId
				},
				success : function(data) {
					// 如果删除成功，则刷新页面！
					if (data["message"] == "1") {
						App.bubble(200, "删除成功！");
					} else if (data["message"] == "0") {
						App.bubble(500, "删除失败！");
					} else {
						App.bubble(500, data["message"]);
					}
					// 删除用户信息后查询初始化
					findUserInfoList(_path + "/line/list");
				},
				error : function() {
					App.bubble(500, "删除失败！");
				}
			});

		}
	}
}

// ------详细信息修改-----
/**
 * @title : 以树的形式展示机构
 */
function initOgrTree() {
	var url = _path
			+ "/organ/organTree?istype=bd0800415b28af54015b28b63d770000";
	$.ajax({
		type : "post",
		url : url,
		async : false,
		success : function(data) {
			var treeData = [];
			treeData.push({
				'id' : '999999',
				'icon' : '',
				'text' : '机构列表',
				'isexpand' : true,
				'pid' : ""
			});
			var orgList = data.orgList;
			for (var i = 0; i < orgList.length; i++) {
				treeData.push({
					'id' : orgList[i].id,
					'icon' : '',
					'text' : orgList[i].organame,
					'isexpand' : true,
					'pid' : orgList[i].pid
				});
			}
			loadTree(treeData);
		}
	});
}

// ------详细信息修改-----

// 加载树
function loadTree(dataTree) {
	var $$ = $("#orgTree");
	$$.html("<div style='height: 350px;overflow-y: auto'></div>");
	treeManger = $$.children().ligerTree({
		data : dataTree,
		idFieldName : 'id',
		parentIDFieldName : 'pid',
		checkbox : false,
		slide : true,
		nodeWidth : 120,
		onSelect : onSelect
	});
	var nodeId = $("#organid").val();
	if (nodeId != '-1' && nodeId != '') {
		var data = treeManger.getDataByID(nodeId);
		onclickPass(data);
		treeManger.selectNode(nodeId);
	}
}

function onSelect(note) {
	onclickPass(note.data);
}
function onclickPass(data) {
	var orgId = data.id;
	var organame = data.text;
	if (orgId == "-1") {
		$("#organid").val("999999");
		$("#organname").val("机构列表");
	} else {
		$("#organid").val(orgId);
		$("#organname").val(organame);
	}
}
